package com.oauth.service.members.service;

import java.util.Date;

import com.oauth.service.members.beans.Member;
import com.oauth.service.members.constants.Gender;


public interface MemberService {

	public abstract Member createMember(String firstName, String lastName,
			String password, Date birthDate, Gender gender, String email) throws Exception;

	public abstract boolean updateMember(Member pMember);

	public abstract Member getMember(Long pMemberId);
	
	public abstract Member getMember(String pEmailId);
	public abstract Member getMember(String pEmailId, boolean pAutoCreate) throws Exception;

	/**
	 * Delete the member. Makes use of transactions.
	 * @param pMemberId
	 * @return boolean
	 */
	public abstract boolean deleteMember(Long pMemberId);

}